#基础进阶 ：函数【方法】 、分支结构、循环语句
"""
    一、函数叫方法
       封装特定的功能，可以单模块调用，多次调用
       语法：
       定义   def 函数名(传入参数：变量【可省略】):
                语句块
                return 返回值 【可省略】
       使用   函数名(传入参数：变量【可省略】)
"""
#需求：封装方法、输出一句话
def say():
    print("谁家小谁~")
print(say())
#需求：方法功能1+1=2,形参传入，一定有返回值
def count(a,b):
    result=a+b
    return result
print(count(1,1))

#pass占位符None的问题
#pass占位作用：
# 编写函数、类、循环语句，无法确定功能
# 用处：函数、循环中
def sum():
    pass  #占位，完善结构体，避免报错
#练习：控制台获取两个值,如果a>b 成立,输出b的数据
# 1.定义两个控制台输入的值
# a=input("请输入第一个值：")
# b=input("请输入第二个值：")
# 2.定义sum函数,功能a>b[True] 输出b的值
# def sum(a,b):
#     a>b
#     return b
# 3.打印sum函数
#print(sum(10,5))
#关于None问题：函数返回，
# 表示函数没有返回什么有意义的内容




#函数 变量的作用域：全局、局部
#局部变量:定义函数体中,只能供函数体使用
# def testA():
#     num=101
#     print(num)
# testA()
# print(num)
#全局变量：外部的变量，全局变量
# num=102
# def testB():
#     print(num)
# def testC():
#     print(num)
# testB()
# testB()
#问题：局部变量，外部能使用
#定义局部变量变成全局变量 global【关键字】
def testD():
    global num  #局部变量--全局可用
    num=100
    print(num)
testD()   #局部变量输出
print(num) #全局变量输出

#-------------------分支结构
"""
      二、程序的结构有哪些？
      顺序结构
      选择结构   --分支结构
      循环结构   
      2.1 程序--分支控制语句
      用途：执行bool类型的代码块
      语法：if 条件判断bool:
                语句块1【True】：
            else:
                语句块2【False】
"""
flag=False
if flag:
    print("等于True")
else:
    print("等于False")
# 爬虫应用   __name__  内置函数  判断脚本、函数
if __name__:
    "__main__"
"""
练习：  假设，开奶茶店，自己研发一套系统：
业务：使用分支流程控制语句，购买奶茶的业务
     0.5【半】杯不卖，1杯以上卖，第二杯半价
提醒：准备奶茶6块，支付6块
定义变量
price=6.0        
pay=6.0    
"""
price=6.0 #奶茶价格
pay=6.0  #支付金额
#1.控制台输入购买数量【业务】
buy=input("请输入购买数量：")
#【业务】2.选择语句---
if float(buy)>0.9:  #1>0.9
# 2.1  不到1杯    数值如何定义
    pay=price+(float(buy)-1)*price/2
# 2.2  超过1杯    卖奶茶  用户支付金额
#【公式：支付金额=价格+（数量-1）*价格/2】   奶茶6  6+3
# 用户提示：您好：请您支付金额：
    print(f"您好：请您支付金额：{pay}")
#3.条件不成立---半杯奶茶--用户提示：不卖
else:
    print("不卖")

#昨天重点：Python基础语法：
# ①变量②字符串方法③函数【网爬】④选择结构
#--------------------------------
#循环结构  作用：遍历【取出循环所有的值】
"""
语法： 

for 临时变量名【标识符】 in 被取值的对象:
            【字符串、列表、元组、字典等】
    语句块        
"""
py="python"
#需求：获取py字符串的"o"
# 字符串、列表、元组 存在下标【索引】
# 索引：默认从0开始
#取值：对象名称[索引/下标]
print("取字符串值："+py[4])

for i in py:
    print(f"遍历字符串：{i}")

#用法1：结合range语句[循环次数固定下标]:
# 单数值，默认0开始，单数值位置【循环次数】
# 用法：循环次数固定：for+range[从0开始]
for j in range(5):
    print(f"{j}当山峰没有菱角的时候~~~")
#用法2：结合range语句：明确遍历数值下标位
# 双数值，含头不含尾，从5开始，到10结束
for k in range(5,10): #指定某部分
    print(f"{k}~~~~~~~~~~~~")
#用法3：结合range语句：明确遍历步数
# 三数值：从5开始，到10结束，2数字序列：步数
#需求：取一个网页上的10条数据，取下一页10条数据
for x in range(5,10,2):
    print(f"{x}|||||||||||||")

# 循环嵌套--列表
for i in py:
    for j in py:
        for k in py:
            pass




